﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using ASPPanificadora.fabrica;
using NHibernate;
using ASPPanificadora.classes;
using NHibernate.Criterion;

namespace ASPPanificadora.controller
{
    public class LoginSistema : ILoginSistema
    {
        Fabrica fabrica = new Fabrica();
        public bool AcessarSistema(string login, string senha)
        {

            if (!(login == null || login.Equals("") || senha == null || senha.Equals("")))
            {
                ISession sessao = fabrica.sessao();
                Usuario user = sessao.CreateCriteria<Usuario>().Add(Restrictions.Eq("Login", login)).Add(Restrictions.Eq("Senha", senha)).SetResultTransformer(NHibernate.Transform.Transformers.DistinctRootEntity).List<Usuario>().FirstOrDefault();


                if (user != null && user.Id != 0)
                {
                    user.Senha = null;
                    HttpContext.Current.Session["IdUsuario"] = user.Id.ToString();
                    HttpContext.Current.Session["NomeUsuario"] = user.Funcionario.NomeFuncionario.ToString();
                    HttpContext.Current.Session["TipoUsuario"] = user.TipoUsuario.Id.ToString();

                    fabrica.fechaSessao();
                    return true;
                }
                else
                {
                    fabrica.fechaSessao();
                    return false;
                }
            }
            else
            {
                return false;
            }
        }
    }
}